1. Field of the Invention
The present invention relates to a data processing method for recognizing linear components from image data to detect a slope thereof, and more particularly, to a data processing method for detecting a slope of image data in which multiple linear components exist in the same direction such as in a microscope photograph of an integrated circuit.
2. Description of the Related Art
Heretofore, in an inspection operation of a printed circuit board or a semiconductor circuit, defects or foreign matters, if generated on a surface of a sample, have been observed with a SEM (Scanning Electron Microscope) to take image data therefrom, which is then stored in a database. Such stored images of defects include multiple similar images.
Under present circumstance, when one attempts to compare an image of a certain sample during observation with a similar previous image, he must search various image data sequentially relying on his memory under the present conditions. Also, an image can be handled only by a person who took it because features of an image are difficult to express by words and it is hard to set a keyword for search, making it difficult to share data with another person. In order to overcome such problems, it is desired to efficiently search multiple image data.
There have been heretofore many various image processing methods for detecting, recognizing, and determining defects or foreign matters as mentioned above in image data taken from a printed circuit board or a semiconductor wafer with the SEM. These conventional methods typically employs digital image processing for digitally handling images, which is performed with data processing by a computer.
Heretofore, at image data search, a pattern matching technique has been primarily utilized in which an image under test is compared with a stored image. The comparison of images involves calculating differences between corresponding pixels in two images and generating a difference image which uses the differences as values of pixels.
If the two compared images are exactly the same, the difference image obtained through difference processing, which is a completely uniform image with the values of all pixels being 0. However, if the image under test involve defects or foreign matters, it shows that the different image contains pixels of the values other than 0 at portions corresponding to the defects or foreign matters.
Thus, when two images are to be compared for similarity, the total number of pixels having values other than 0 in the difference image is measured. If the resultant value is below a predetermined threshold, it can be determined that the compared two images are similar to each other, which is outputted as a detection result.
With the above-mentioned processing, only image data similar to a predetermined image can be extracted from multiple stored image data. In the case of an image of a semiconductor wafer, interconnect patterns run vertically and horizontally in a background portion, while with the interconnect pattern being usually aligned in an uniform direction systematically, the background portion is canceled in the pattern matching. This enables only a difference in particular portions such as defects or foreign matters to be extracted.
However, in order to favorably perform the aforementioned pattern matching, a plurality of image data need be matched in terms of positions and directions thereof. Even with data of images in which the same object is taken, the accuracy of pattern matching is extremely reduced if the images are taken at different positions and angles.
Thus, if multiple image data stored in a database, in terms of positions and angles are not matched, it is required to perform the pattern matching after the matching of positions or angles of the image data to be compared. However, this involves complicated operations and is not practical when multiple image data are searched at a higher speed.
The aforementioned database stores image data that each observe has taken images of semiconductor wafer, images are taken by observers in respectively optimal directions for analyzing detailed features of the defect. Thus, multiple image data do not match each other in terms of positions of directions thereof, thus making it difficult to perform a higher speed search of image data and extraction of different portions between image data with the pattern matching.
It is an object relate to the present invention to provide a data processing method capable of detecting slopes of linear components in image data.
In a first data processing method of the present invention, when image data comprising multiple pixels each having a multilevel value set in digital form is entered, the inputted image data is edge-processed to enhance values of the pixels in edge portions in the image data. The values of the pixels in the edge-processed image data are compared for each pixel with a predetermined threshold to convert the image data into binary data, and this binary image data is Hough-transformed to generate a parameter plane in which multiple Hough-curves are plotted in a parameter space. Coordinates at which a multiplicity of the Hough-curves intersect are extracted from the generated parameter plane through a comparison with a predetermined threshold, and these extracted coordinates in the parameter plane are grouped in accordance with the proximity of the coordinates. Representative coordinates are selected for each group thus generated, and slopes of linear components in the image data are estimated from the selected coordinates.
Thus, in the data processing method of the present invention, it is possible to detect a slope, for example, in an SEM image of a semiconductor wafer taken at an arbitrary angle because linear components can be recognized from digital image data to estimate a slope thereof.
In a second data processing method of the present invention, when image data comprising multiple pixels each having a multilevel value set in digital form and individually is inputted, the inputted image data is edge-processed to enhance values of the pixels in edge portions in the image data. The values of the pixels in the edge-processed image data are compared for each pixel with a predetermined threshold to convert the image data into binary data, and Hough-transform is performed for each pixel in the binary image data represented with position coordinates (x, y) to thereby generate a parameter plane which uses as its coordinates (xcex8, xcfx81) thereof in which xcex8 represents an angle with respect to an x axis and |xcfx81| represents a distance from an origin point to a linear component xcfx81=x cos xcex8+y sin xcex8. Coordinates at which a multiplicity of the Hough-curves intersect are extracted from the generated parameter plane through a comparison with a predetermined threshold, and the number of the extracted coordinates in the parameter plane is added up for each angle xcex8 to generate a histogram. An angle xcex8 with the maximum number of the extracted coordinates is specified from the generated histogram.
Thus, in the data processing method of the present invention, it is possible to detect a slope, for example, in an SEM image of a semiconductor wafer taken at an arbitrary angle because linear components can be recognized from digital image data to estimate a slope thereof.
In a third data processing method of the present invention, when image data comprising multiple pixels each having a multilevel value set in digital form and individually is inputted, the inputted image data is edge-processed to enhance values of the pixels in edge portions in the image data. The values of the pixels in the edge-processed image data are compared for each pixel with a predetermined threshold to convert the image data into binary data, and Hough-transform is performed for each pixel in the binary image data represented with position coordinates (x, y) to thereby generate a parameter plane which uses as its coordinates (xcex8, xcfx81) thereof in which xcex8 represents an angle with respect to an x axis and |xcfx81| represents a distance from an origin point to a linear component xcfx81=x cos xcex8+y sin xcex8. Coordinates at which a multiplicity of the Hough-curves intersect are extracted from the generated parameter plane through a comparison with a predetermined threshold, and this extracted coordinates in the parameter plane are grouped in accordance with the proximity of the coordinates. Representative coordinates are selected for each group thus generated, and an angle xcex8 with a large number of the selected coordinates are concentrated is specified.
Thus, in the data processing method of the present invention, it is possible to detect a slope, for example, in an SEM image of a semiconductor wafer taken at an arbitrary angle because linear components are recognized from digital image data to output as data the angle of the slope thereof.
In a fourth data processing method of the present invention, when image data comprising multiple pixels each having a multilevel value set in digital form is inputted, the average of values of all the pixels in the inputted image data is calculated. A difference between the calculated average of values and a value for each pixel in the image data is calculated, and the calculated difference of the value is compared with a predetermined threshold for each pixel to convert to binary image data. The binary image data is Hough-transformed to generate a parameter plane in which multiple Hough-curves are plotted in a parameter space, and coordinates at which a multiplicity of the Hough-curves intersect are extracted from the generated parameter plane through a comparison with a predetermined threshold. The extracted coordinates in the parameter plane are grouped in accordance with the proximity of the coordinates, representative coordinates are selected for each group thus generated, and slopes of linear components in the image data are estimated from the selected coordinates.
Thus, in the data processing method of the present invention, it is possible to detect a slope, for example, in an SEM image of a semiconductor wafer taken at an arbitrary angle because linear components can be recognized from digital image data to estimate a slope thereof.
In a fifth data processing method of the present invention, when image data comprising multiple pixels each having a multilevel value set in digital form is inputted, the average of values of all the pixels in the inputted image data is calculated. A difference between the calculated average of values and a value for each pixel in the image data is calculated, and the calculated difference of the values is compared with a predetermined threshold for each pixel to convert the image data into binary data. Hough-transform is performed for each pixel in the binary image data represented with position coordinates (x, y) to thereby generate a parameter plane which uses as its coordinates (xcex8, xcfx81) thereof in which xcex8 represents an angle with respect to an x axis and |xcfx81| represents a distance from an origin point to a linear component xcfx81=x cos xcex8+y sin xcex8. Coordinates at which a multiplicity of the Hough-curves intersect are extracted from the generated parameter plane through a comparison with a predetermined threshold, and the number of the extracted coordinates in the parameter plane is added up for each angle xcex8 to generate a histogram. An angle xcex8 with the maximum number of the extracted coordinates is specified from the generated histogram.
Thus, in the data processing method of the present invention, it is possible to detect a slope, for example, in an SEM image of a semiconductor wafer taken at an arbitrary angle because linear components are recognized from digital image data to output as data the angle of the slope thereof.
In a sixth data processing method of the present invention, when image data comprising multiple pixels each having a multilevel value set in digital form is inputted, the average of values of all the pixels in the inputted image data is calculated. A difference between the calculated average of values and a value for each pixel in the image data is calculated, and the calculated difference of the value is compared with a predetermined threshold for each pixel to convert the image data into binary data. Hough-transform is performed for each pixel in the binary image data represented with position coordinates (x, y) to thereby generate a parameter plane which uses as its coordinates (xcex8, xcfx81) thereof in which xcex8 represents an angle with respect to an x axis and |xcfx81| represents a distance from an origin point to a linear component xcfx81=x cos xcex8+y sin xcex8. Coordinates at which a multiplicity of the Hough-curves intersect are extracted from the generated parameter plane through a comparison with a predetermined threshold, and this extracted coordinates in the parameter plane are grouped in accordance with the proximity of the coordinates. Representative coordinates are selected for each group thus generated, and an angle xcex8 with a large number of the selected coordinates are concentrated is specified.
Thus, in the data processing method of the present invention, it is possible to detect a slope, for example, in an SEM image of a semiconductor wafer taken at an arbitrary angle because linear components are recognized from digital image data to output as data the angle of the slope thereof.
In a seventh data processing method of the present invention, when image data comprising multiple pixels each having a multilevel value set in digital form is inputted, the average M of values t of all the pixels in the inputted image data is calculated. A difference |txe2x88x92M| between the calculated average of values and a value for each pixel in the image data is calculated as a weighting coefficient, and in Hough-transform for each pixel in the image data represented with position coordinates (x, y), for each intersection of Hough-curves the weighting coefficient corresponding thereto added to the number of the curves thereof to thereby generate a parameter plane which uses as its coordinates (xcex8, xcfx81) thereof in which xcex8 represents an angle with respect to an x axis and |xcfx81| represents a distance from an origin point to a linear component xcfx81=x cos xcex8+y sin xcex8. Coordinates with a high value of the addition result from the parameter plane thus generated are extracted through a comparison with a predetermined threshold, and the extracted coordinates in the parameter plane are grouped in accordance with the proximity of the coordinates. Representative coordinates are selected for each group thus generated, and slopes of linear components in the image data are estimated from the selected coordinates.
Thus, in the data processing method of the present invention, it is possible to detect a slope, for example, in an SEM image of a semiconductor wafer taken at an arbitrary angle because linear components can be recognized from digital image data to estimate the slope thereof.
In a eighth data processing method of the present invention, when image data comprising multiple pixels each having a multilevel value set in digital form is inputted, the average M of values t of all the pixels in the inputted image data is calculated. A difference |txe2x88x92M| between the calculated average of values and a value for each pixel in the image data is calculated as a weighting coefficient, and in Hough-transform for each pixel in the image data represented with position coordinates (x, y), for each intersection of Hough-curves the weighting coefficient corresponding thereto added to the number of the curves thereof to thereby generated a parameter plane which uses as its coordinates (xcex8, xcfx81) thereof in which xcex8 represents an angle with respect to an x axis and |xcfx81| represents a distance from an origin point to a linear component xcfx81=x cos xcex8+y sin xcex8. Coordinates with a high value of the addition result from the parameter plane thus generated are extracted through a comparison with a predetermined threshold, and the number of the extracted coordinates in the parameter plane is added up for each angle xcex8 to generate a histogram. An angle xcex8 with the maximum number of the extracted coordinates is specified from the generated histogram.
Thus, in the data processing method of the present invention, it is possible to detect a slope, for example, in an SEM image of a semiconductor wafer taken at an arbitrary angle because linear components are recognized from digital image data to output as data the angle of the slope thereof.
In a seventh data processing method of the present invention, when image data comprising multiple pixels each having a multilevel value set in digital form is inputted, the average M of values t of all the pixels in the inputted image data is calculated. A difference |txe2x88x92M| between the calculated average of values and a value for each pixel in the image data is calculated as a weighting coefficient, and in Hough-transform for each pixel in the image data represented with position coordinates (x, y), for each intersection of Hough-curves the weighting coefficient corresponding thereto added to the number of the curves thereof to thereby generate a parameter plane which uses as its coordinates (xcex8, xcfx81) thereof in which xcex8 represents an angle with respect to an x axis and |xcfx81| represents a distance from an origin point to a linear component xcfx81=x cos xcex8+y sin xcex8. Coordinates with a high value of the addition result from the parameter plane thus generated are extracted through a comparison with a predetermined threshold, and the extracted coordinates in the parameter plane are grouped in accordance with the proximity of the coordinates. Representative coordinates are selected for each group thus generated, and an angle xcex8 with a large number of the selected coordinates are concentrated is specified.
Thus, in the data processing method of the present invention, it is possible to detect a slope, for example, in an SEM image of a semiconductor wafer taken at an arbitrary angle because linear components are recognized from digital image data to output as data the angle of the slope thereof.
Incidentally, in a data processing method as mentioned above, it is also possible that a difference between the calculated average M of values of the pixels and a value for each pixel is calculated, a standard deviation E is calculated from the average M of values of pixels and the difference between the average and a value for each pixel, and a threshold t to convert the image data into binary data represented as xe2x80x9ct=M+3xcexa3xe2x80x9d is calculated from the average M and the standard deviation xcexa3.
In this case, a proper threshold is set to convert the image data into binary data so that the values of pixels in the image data can be properly digitized.
Additionally, in a data processing method as mentioned above, it is also possible that a difference between the calculated average Mp of values for all the coordinates in the parameter plane and each value for the coordinates is calculated, a standard deviation xcexa3 is calculated using the average Mp of values and the difference between the average and each value for the coordinates, and a threshold Th to convert the image data into binary data represented as xe2x80x9cTh=Mp+3xcexa3xe2x80x9d is calculated from the average Mp and the standard deviation xcexa3.
In this case, a proper threshold is set to convert the image data into binary data so that coordinates can be properly extracted from the parameter plane.
Incidentally, as the above-mentioned edge-processing, the Sobel operator, the Roberts edge detection operator, or the like can be used, for example. In xe2x80x9cImage Analysis Handbookxe2x80x9d (edited by Takagi and Shimoda, University of Tokyo Press) pp.550-564, for example, an edge-processing method for image data is described in detail. Additionally, in xe2x80x9cFoundations of Image Recognition [II]xe2x80x9d (written by Mori and Sakakura, Ohmsha, Ltd.) PP 3-19, a processing method for Hough-transform is described in detail.
Any information storage medium may be used in the present invention as long as it has a program as software previously stored for causing a computer to perform various processing. For example, a ROM (Read Only Memory) or HDD (Hard Disc Drive) fixed in an apparatus having a computer as a part thereof, a CD (Compact Disc)-ROM (Read Only Memory) or FD (Floppy Disc) removably loaded in an apparatus having a computer as a part thereof, or the like may be used.
A computer used in the present invention may be any device capable of reading a program comprising software to perform a processing corresponding thereto, for example, a device having a CPU (Central Processing Unit) as a main unit and various devices connected thereto as required, such as a ROM, RAM (Random Access Memory), I/F (Interface), or the like.
The above and other objects, features and advantages relate to the present invention will become apparent from the following description with reference to the accompanying drawings which illustrate examples of the present invention.